/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.qywx.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.jeesite.common.mybatis.annotation.JoinTable;
import com.jeesite.common.mybatis.annotation.JoinTable.Type;
import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.NotBlank;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 企业微信公众号维护管理Entity
 * @author SunXiaobing
 * @version 2019-08-13
 */
@Table(name="wx_info", alias="a", columns={
		@Column(name="id", attrName="id", label="编号", isPK=true),
		@Column(name="wx_sort", attrName="wxSort", label="排序号"),
		@Column(name="wx_data_id", attrName="wxDataId", label="父表主键"),
		@Column(name="wx_input", attrName="wxInput", label="单行文本"),
		@Column(name="wx_textarea", attrName="wxTextarea", label="多行文本"),
		@Column(name="wx_select", attrName="wxSelect", label="下拉框"),
		@Column(name="wx_select_multiple", attrName="wxSelectMultiple", label="下拉多选"),
		@Column(name="wx_radio", attrName="wxRadio", label="单选框"),
		@Column(name="wx_checkbox", attrName="wxCheckbox", label="复选框"),
		@Column(name="wx_date", attrName="wxDate", label="日期选择"),
		@Column(name="wx_datetime", attrName="wxDatetime", label="日期时间"),
		@Column(name="wx_user_code", attrName="wxUserCode", label="用户选择"),
		@Column(name="wx_office_code", attrName="wxOfficeCode", label="机构选择"),
		@Column(name="wx_area_code", attrName="wxAreaCode", label="区域选择"),
		@Column(name="wx_area_name", attrName="wxAreaName", label="区域名称", queryType=QueryType.LIKE),
		@Column(name="wx_corpid", attrName="wxCorpid", label="微信号ID"),
		@Column(name="wx_userid", attrName="wxUserid", label="微信名称"),
		@Column(name="wx_session_key", attrName="wxSessionKey", label="SessionKey"),
		@Column(name="wx_nike_name", attrName="wxNikeName", label="昵称_显示名称", queryType=QueryType.LIKE),
		@Column(name="wx_grant_type", attrName="wxGrantType", label="秘钥"),
	}, orderBy="a.id DESC"
)
public class QiyePush extends DataEntity<QiyePush> {
	
	private static final long serialVersionUID = 1L;
	private Long wxSort;		// 排序号
	private String wxDataId;		// 父表主键
	private String wxInput;		// 单行文本
	private String wxTextarea;		// 多行文本
	private String wxSelect;		// 下拉框
	private String wxSelectMultiple;		// 下拉多选
	private String wxRadio;		// 单选框
	private String wxCheckbox;		// 复选框
	private Date wxDate;		// 日期选择
	private Date wxDatetime;		// 日期时间
	private String wxUserCode;		// 用户选择
	private String wxOfficeCode;		// 机构选择
	private String wxAreaCode;		// 区域选择
	private String wxAreaName;		// 区域名称
	private String wxCorpid;		// 微信号ID
	private String wxUserid;		// 微信名称
	private String wxSessionKey;		// SessionKey
	private String wxNikeName;		// 昵称_显示名称
	private String wxGrantType;		// 秘钥
	
	public QiyePush() {
		this(null);
	}

	public QiyePush(String id){
		super(id);
	}
	
	public Long getWxSort() {
		return wxSort;
	}

	public void setWxSort(Long wxSort) {
		this.wxSort = wxSort;
	}
	
	@Length(min=0, max=64, message="父表主键长度不能超过 64 个字符")
	public String getWxDataId() {
		return wxDataId;
	}

	public void setWxDataId(String wxDataId) {
		this.wxDataId = wxDataId;
	}
	
	@Length(min=0, max=200, message="单行文本长度不能超过 200 个字符")
	public String getWxInput() {
		return wxInput;
	}

	public void setWxInput(String wxInput) {
		this.wxInput = wxInput;
	}
	
	@Length(min=0, max=200, message="多行文本长度不能超过 200 个字符")
	public String getWxTextarea() {
		return wxTextarea;
	}

	public void setWxTextarea(String wxTextarea) {
		this.wxTextarea = wxTextarea;
	}
	
	@Length(min=0, max=10, message="下拉框长度不能超过 10 个字符")
	public String getWxSelect() {
		return wxSelect;
	}

	public void setWxSelect(String wxSelect) {
		this.wxSelect = wxSelect;
	}
	
	@Length(min=0, max=200, message="下拉多选长度不能超过 200 个字符")
	public String getWxSelectMultiple() {
		return wxSelectMultiple;
	}

	public void setWxSelectMultiple(String wxSelectMultiple) {
		this.wxSelectMultiple = wxSelectMultiple;
	}
	
	@Length(min=0, max=10, message="单选框长度不能超过 10 个字符")
	public String getWxRadio() {
		return wxRadio;
	}

	public void setWxRadio(String wxRadio) {
		this.wxRadio = wxRadio;
	}
	
	@Length(min=0, max=200, message="复选框长度不能超过 200 个字符")
	public String getWxCheckbox() {
		return wxCheckbox;
	}

	public void setWxCheckbox(String wxCheckbox) {
		this.wxCheckbox = wxCheckbox;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getWxDate() {
		return wxDate;
	}

	public void setWxDate(Date wxDate) {
		this.wxDate = wxDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getWxDatetime() {
		return wxDatetime;
	}

	public void setWxDatetime(Date wxDatetime) {
		this.wxDatetime = wxDatetime;
	}
	
	@Length(min=0, max=64, message="用户选择长度不能超过 64 个字符")
	public String getWxUserCode() {
		return wxUserCode;
	}

	public void setWxUserCode(String wxUserCode) {
		this.wxUserCode = wxUserCode;
	}
	
	@Length(min=0, max=64, message="机构选择长度不能超过 64 个字符")
	public String getWxOfficeCode() {
		return wxOfficeCode;
	}

	public void setWxOfficeCode(String wxOfficeCode) {
		this.wxOfficeCode = wxOfficeCode;
	}
	
	@Length(min=0, max=64, message="区域选择长度不能超过 64 个字符")
	public String getWxAreaCode() {
		return wxAreaCode;
	}

	public void setWxAreaCode(String wxAreaCode) {
		this.wxAreaCode = wxAreaCode;
	}
	
	@Length(min=0, max=100, message="区域名称长度不能超过 100 个字符")
	public String getWxAreaName() {
		return wxAreaName;
	}

	public void setWxAreaName(String wxAreaName) {
		this.wxAreaName = wxAreaName;
	}
	
	@NotBlank(message="微信号ID不能为空")
	@Length(min=0, max=64, message="微信号ID长度不能超过 64 个字符")
	public String getWxCorpid() {
		return wxCorpid;
	}

	public void setWxCorpid(String wxCorpid) {
		this.wxCorpid = wxCorpid;
	}
	
	@Length(min=0, max=64, message="微信名称长度不能超过 64 个字符")
	public String getWxUserid() {
		return wxUserid;
	}

	public void setWxUserid(String wxUserid) {
		this.wxUserid = wxUserid;
	}
	
	@Length(min=0, max=255, message="SessionKey长度不能超过 255 个字符")
	public String getWxSessionKey() {
		return wxSessionKey;
	}

	public void setWxSessionKey(String wxSessionKey) {
		this.wxSessionKey = wxSessionKey;
	}
	
	@Length(min=0, max=64, message="昵称_显示名称长度不能超过 64 个字符")
	public String getWxNikeName() {
		return wxNikeName;
	}

	public void setWxNikeName(String wxNikeName) {
		this.wxNikeName = wxNikeName;
	}
	
	@Length(min=0, max=255, message="秘钥长度不能超过 255 个字符")
	public String getWxGrantType() {
		return wxGrantType;
	}

	public void setWxGrantType(String wxGrantType) {
		this.wxGrantType = wxGrantType;
	}
	
}